home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -seriously_amiga- / programming / e / unfinishedesrc / bigtext.e < prev    next >
Text File  |  1999-01-25  |  8KB  |  791 lines

  1. ->By Ian Chapman
  2. ->Some experimental vector graphics.
  3.  
  4. MODULE  'intuition/screens'
  5.  
  6. OBJECT btext
  7. tw
  8. th
  9. spx
  10. spy
  11. ENDOBJECT
  12.  
  13. DEF scr:PTR TO screen,
  14.     rast,
  15.     bf:btext
  16.  
  17. PROC main()
  18.  
  19.  
  20.  
  21.  
  22. IF (scr:=OpenS(640,480,4,$8000,'Scroller',NIL))<>NIL
  23.     rast:=scr.rastport
  24.  
  25.     SetColour(scr,2,255,0,0)
  26.     SetColour(scr,0,0,0,0)
  27.  
  28.     resetparam()
  29.  
  30.     zoomt(3)
  31.     respar2()
  32.     zoomt(-3)
  33.     resetparam()
  34.  
  35.     zoomh(3)
  36.     respar2()
  37.     zoomh(-3)
  38.     resetparam()
  39.  
  40.     zoome(3)
  41.     respar2()
  42.     zoome(-3)
  43.     resetparam()
  44.  
  45.     zoomj(3)
  46.     respar2()
  47.     zoomj(-3)
  48.     resetparam()
  49.  
  50.     zoome(3)
  51.     respar2()
  52.     zoome(-3)
  53.     resetparam()
  54.  
  55.     zooml(3)
  56.     respar2()
  57.     zooml(-3)
  58.     resetparam()
  59.  
  60.     zooml(3)
  61.     respar2()
  62.     zooml(-3)
  63.     resetparam()
  64.  
  65.     zoomy(3)
  66.     respar2()
  67.     zoomy(-3)
  68.     resetparam()
  69.  
  70.     zoomz(3)
  71.     respar2()
  72.     zoomz(-3)
  73.     resetparam()
  74.  
  75.     zoomo(3)
  76.     respar2()
  77.     zoomo(-3)
  78.     resetparam()
  79.  
  80.     zoomn(3)
  81.     respar2()
  82.     zoomn(-3)
  83.     resetparam()
  84.  
  85.     zoome(3)
  86.     respar2()
  87.     zoome(-3)
  88.     resetparam()
  89.  
  90.  
  91.     across()
  92.  
  93.     Colour(5)
  94.     scroller()
  95.  
  96.     Delay(200)
  97.     CloseS(scr)
  98.  
  99. ELSE
  100.         PrintF('Unable top open screen\n')
  101. ENDIF
  102.  
  103. ENDPROC
  104.  
  105. PROC a()
  106. drawleft()
  107. drawright()
  108. drawtop()
  109. drawmiddle()
  110. ENDPROC
  111.  
  112. PROC b()
  113. drawleft()
  114. drawright()
  115. drawtop()
  116. drawbottom()
  117. drawmiddle()
  118. ENDPROC
  119.  
  120. PROC c()
  121. drawtop()
  122. drawbottom()
  123. drawleft()
  124. ENDPROC
  125.  
  126. PROC d()
  127. drawleft()
  128. movetopleft()
  129. Draw(rast,bf.spx+(bf.tw/2),bf.spy)
  130. movebottomleft()
  131. Draw(rast,bf.spx+(bf.tw/2),bf.spy+bf.th)
  132. Move(rast,bf.spx+bf.tw,bf.spy+(bf.th/2))
  133. Draw(rast,bf.spx+(bf.tw/2),bf.spy)
  134. Move(rast,bf.spx+bf.tw,bf.spy+(bf.th/2))
  135. Draw(rast,bf.spx+(bf.tw/2),bf.spy+bf.th)
  136. ENDPROC
  137.  
  138. PROC e()
  139. drawleft()
  140. drawtop()
  141. drawbottom()
  142. drawmiddle()
  143. ENDPROC
  144.  
  145. PROC f()
  146. drawtop()
  147. drawleft()
  148. drawmiddle()
  149. ENDPROC
  150.  
  151. PROC g()
  152. drawtop()
  153. drawleft()
  154. drawbottom()
  155. Draw(rast,bf.spx+bf.tw,bf.spy+(bf.th/2))
  156. Draw(rast,bf.spx+(bf.tw/2),bf.spy+(bf.th/2))
  157. ENDPROC
  158.  
  159. PROC h()
  160. drawleft()
  161. drawmiddle()
  162. drawright()
  163. ENDPROC
  164.  
  165. PROC i()
  166. drawtop()
  167. drawbottom()
  168. drawvmiddle()
  169. ENDPROC
  170.  
  171. PROC j()
  172. drawtop()
  173. drawvmiddle()
  174. Draw(rast,bf.spx,bf.spy+bf.th)
  175. ENDPROC
  176.  
  177. PROC k()
  178. drawleft()
  179. Move(rast,bf.spx,bf.spy+(bf.th/2))
  180. Draw(rast,bf.spx+bf.tw,bf.spy)
  181. Move(rast,bf.spx,bf.spy+(bf.th/2))
  182. Draw(rast,bf.spx+bf.tw,bf.spy+bf.th)
  183. ENDPROC
  184.  
  185. PROC l()
  186. drawleft()
  187. drawbottom()
  188. ENDPROC
  189.  
  190. PROC m()
  191. drawleft()
  192. drawright()
  193. diaglrhalf()
  194. diagrlhalf()
  195. ENDPROC
  196.  
  197. PROC n()
  198. drawleft()
  199. drawright()
  200. diaglr()
  201. ENDPROC
  202.  
  203. PROC o()
  204. drawleft()
  205. drawright()
  206. drawtop()
  207. drawbottom()
  208. ENDPROC
  209.  
  210. PROC p()
  211. drawleft()
  212. drawtop()
  213. drawmiddle()
  214. Draw(rast,bf.spx+bf.tw,bf.spy)
  215. ENDPROC
  216.  
  217. PROC q()
  218. drawtop()
  219. drawleft()
  220. drawright()
  221. drawbottom()
  222. Draw(rast,bf.spx+(bf.tw/2),bf.spy+(bf.th/2))
  223. ENDPROC
  224.  
  225. PROC r()
  226. drawleft()
  227. drawtop()
  228. drawmiddle()
  229. Draw(rast,bf.spx+bf.tw,bf.spy)
  230. Move(rast,bf.spx,bf.spy+(bf.th/2))
  231. Draw(rast,bf.spx+bf.tw,bf.spy+bf.th)
  232. ENDPROC
  233.  
  234. PROC s()
  235. drawtop()
  236. drawmiddle()
  237. drawbottom()
  238. Draw(rast,bf.spx+bf.tw,bf.spy+(bf.th/2))
  239. movetopleft()
  240. Draw(rast,bf.spx,bf.spy+(bf.th/2))
  241. ENDPROC
  242.  
  243. PROC t()
  244. drawtop()
  245. drawvmiddle()
  246. ENDPROC
  247.  
  248. PROC u()
  249. drawleft()
  250. drawright()
  251. drawbottom()
  252. ENDPROC
  253.  
  254. PROC v()
  255. movetopleft()
  256. Draw(rast,bf.spx+(bf.tw/2),bf.spy+bf.th)
  257. movetopright()
  258. Draw(rast,bf.spx+(bf.tw/2),bf.spy+bf.th)
  259. ENDPROC
  260.  
  261. PROC w()
  262. drawleft()
  263. drawright()
  264. movebottomleft()
  265. midpoint()
  266. movebottomright()
  267. midpoint()
  268. ENDPROC
  269.  
  270. PROC x()
  271. diaglr()
  272. diagrl()
  273. ENDPROC
  274.  
  275. PROC y()
  276. diaglrhalf()
  277. diagrlhalf()
  278. Draw(rast,bf.spx+(bf.tw/2),bf.spy+bf.th)
  279. ENDPROC
  280.  
  281. PROC z()
  282. drawtop()
  283. drawbottom()
  284. diagrl()
  285. ENDPROC
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294. /*******************/
  295.  
  296. PROC movetopleft()
  297. Move(rast,bf.spx,bf.spy)
  298. ENDPROC
  299.  
  300. PROC movetopright()
  301. Move(rast,bf.spx+bf.tw,bf.spy)
  302. ENDPROC
  303.  
  304. PROC movebottomleft()
  305. Move(rast,bf.spx,bf.spy+bf.th)
  306. ENDPROC
  307.  
  308. PROC movebottomright()
  309. Move(rast,bf.spx+bf.tw,bf.spy+bf.th)
  310. ENDPROC
  311.  
  312. PROC drawleft()
  313. movetopleft()
  314. Draw(rast,bf.spx,bf.spy+bf.th)
  315. ENDPROC
  316.  
  317. PROC drawright()
  318. movetopright()
  319. Draw(rast,bf.spx+bf.tw,bf.spy+bf.th)
  320. ENDPROC
  321.  
  322. PROC drawtop()
  323. movetopleft()
  324. Draw(rast,bf.spx+bf.tw,bf.spy)
  325. ENDPROC
  326.  
  327. PROC drawbottom()
  328. movebottomleft()
  329. Draw(rast,bf.spx+bf.tw,bf.spy+bf.th)
  330. ENDPROC
  331.  
  332. PROC drawmiddle()
  333. Move(rast,bf.spx,bf.spy+(bf.th/2))
  334. Draw(rast,bf.spx+bf.tw,bf.spy+(bf.th/2))
  335. ENDPROC
  336.  
  337. PROC drawvmiddle()
  338. Move(rast,bf.spx+(bf.tw/2),bf.spy)
  339. Draw(rast,bf.spx+(bf.tw/2),bf.spy+bf.th)
  340. ENDPROC
  341.  
  342.  
  343. PROC diaglr()
  344. movetopleft()
  345. Draw(rast,bf.spx+bf.tw,bf.spy+bf.th)
  346. ENDPROC
  347.  
  348. PROC diagrl()
  349. movetopright()
  350. Draw(rast,bf.spx,bf.spy+bf.th)
  351. ENDPROC
  352.  
  353. PROC diaglrhalf()
  354. movetopleft()
  355. Draw(rast,bf.spx+(bf.tw/2),bf.spy+(bf.th/2))
  356. ENDPROC
  357.  
  358. PROC diagrlhalf()
  359. movetopright()
  360. Draw(rast,bf.spx+(bf.tw/2),bf.spy+(bf.th/2))
  361. ENDPROC
  362.  
  363. PROC midpoint()
  364. Draw(rast,bf.spx+(bf.tw/2),bf.spy+(bf.th/2))
  365. ENDPROC
  366.  
  367.  
  368. PROC zoomt(add)
  369. DEF inc
  370.  
  371. FOR inc:=1 TO 50
  372.     Colour(2)
  373.     bf.tw:=bf.tw+add
  374.     bf.th:=bf.th+add
  375.     t()
  376.     WaitTOF()
  377.     Colour(0)
  378.     t()
  379.     ENDFOR
  380. ENDPROC
  381.  
  382. PROC zoomh(add)
  383. DEF inc
  384.  
  385. FOR inc:=1 TO 50
  386.     Colour(2)
  387.     bf.tw:=bf.tw+add
  388.     bf.th:=bf.th+add
  389.     h()
  390.  
  391.     WaitTOF()
  392.     Colour(0)
  393.     h()
  394.     ENDFOR
  395. ENDPROC
  396.  
  397. PROC zoome(add)
  398. DEF inc
  399.  
  400. FOR inc:=1 TO 50
  401.     Colour(2)
  402.     bf.tw:=bf.tw+add
  403.     bf.th:=bf.th+add
  404.     e()
  405.  
  406.     WaitTOF()
  407.     Colour(0)
  408.     e()
  409.     ENDFOR
  410. ENDPROC
  411.  
  412. PROC zoomj(add)
  413. DEF inc
  414.  
  415. FOR inc:=1 TO 50
  416.     Colour(2)
  417.     bf.tw:=bf.tw+add
  418.     bf.th:=bf.th+add
  419.     j()
  420.  
  421.     WaitTOF()
  422.     Colour(0)
  423.     j()
  424.     ENDFOR
  425. ENDPROC
  426.  
  427. PROC zooml(add)
  428. DEF inc
  429.  
  430. FOR inc:=1 TO 50
  431.     Colour(2)
  432.     bf.tw:=bf.tw+add
  433.     bf.th:=bf.th+add
  434.     l()
  435.  
  436.     WaitTOF()
  437.     Colour(0)
  438.     l()
  439.     ENDFOR
  440. ENDPROC
  441.  
  442. PROC zoomy(add)
  443. DEF inc
  444.  
  445. FOR inc:=1 TO 50
  446.     Colour(2)
  447.     bf.tw:=bf.tw+add
  448.     bf.th:=bf.th+add
  449.     y()
  450.  
  451.     WaitTOF()
  452.     Colour(0)
  453.     y()
  454.     ENDFOR
  455. ENDPROC
  456.  
  457. PROC zoomz(add)
  458. DEF inc
  459.  
  460. FOR inc:=1 TO 50
  461.     Colour(2)
  462.     bf.tw:=bf.tw+add
  463.     bf.th:=bf.th+add
  464.     z()
  465.  
  466.     WaitTOF()
  467.     Colour(0)
  468.     z()
  469.     ENDFOR
  470. ENDPROC
  471.  
  472. PROC zoomo(add)
  473. DEF inc
  474.  
  475. FOR inc:=1 TO 50
  476.     Colour(2)
  477.     bf.tw:=bf.tw+add
  478.     bf.th:=bf.th+add
  479.     o()
  480.  
  481.     WaitTOF()
  482.     Colour(0)
  483.     o()
  484.     ENDFOR
  485. ENDPROC
  486.  
  487. PROC zoomn(add)
  488. DEF inc
  489.  
  490. FOR inc:=1 TO 50
  491.     Colour(2)
  492.     bf.tw:=bf.tw+add
  493.     bf.th:=bf.th+add
  494.     n()
  495.  
  496.     WaitTOF()
  497.     Colour(0)
  498.     n()
  499.     ENDFOR
  500. ENDPROC
  501.  
  502. PROC resetparam()
  503. bf.spy:=63
  504. bf.spx:=250
  505. bf.tw:=1
  506. bf.th:=1
  507. ENDPROC
  508.  
  509. PROC respar2()
  510. bf.tw:=150
  511. bf.th:=150
  512. ENDPROC
  513.  
  514. PROC across()
  515. DEF inc
  516.  
  517.  
  518. Colour(4)
  519.  
  520. bf.spx:=70
  521. bf.spy:=50
  522. bf.tw:=50
  523. bf.th:=50
  524.  
  525. i()
  526.  
  527. bf.spx:=bf.spx+bf.tw+10
  528. bf.tw:=bf.tw-5
  529. bf.th:=bf.th-5
  530.  
  531. a()
  532.  
  533. bf.spx:=bf.spx+bf.tw+10
  534. bf.tw:=bf.tw-5
  535. bf.th:=bf.th-5
  536.  
  537. n()
  538.  
  539. bf.spx:=bf.spx+bf.tw+10
  540. bf.tw:=bf.tw-5
  541. bf.th:=bf.th-5
  542.  
  543. c()
  544.  
  545. bf.spx:=bf.spx+bf.tw+10
  546. bf.tw:=bf.tw-5
  547. bf.th:=bf.th-5
  548.  
  549. h()
  550.  
  551. bf.spx:=bf.spx+bf.tw+10
  552. bf.tw:=bf.tw
  553. bf.th:=bf.th
  554.  
  555. a()
  556.  
  557. bf.spx:=bf.spx+bf.tw+10
  558. bf.tw:=bf.tw+5
  559. bf.th:=bf.th+5
  560.  
  561. p()
  562.  
  563. bf.spx:=bf.spx+bf.tw+10
  564. bf.tw:=bf.tw+5
  565. bf.th:=bf.th+5
  566.  
  567. m()
  568.  
  569. bf.spx:=bf.spx+bf.tw+10
  570. bf.tw:=bf.tw+5
  571. bf.th:=bf.th+5
  572.  
  573. a()
  574.  
  575. bf.spx:=bf.spx+bf.tw+10
  576. bf.tw:=bf.tw+5
  577. bf.th:=bf.th+5
  578.  
  579. n()
  580.  
  581. Delay(100)
  582.  
  583. FOR inc:=1 TO 160
  584. ScrollRaster(rast,0,-1,70,50,640,bf.spy+100)
  585. ENDFOR
  586.  
  587.  
  588. ENDPROC
  589.  
  590. PROC scroller()
  591. DEF x
  592. Colour(4)
  593. SetColour(scr,4,255,255,0)
  594. bf.spx:=600
  595. bf.spy:=150
  596. bf.tw:=30
  597. bf.th:=30
  598.  
  599. t()
  600. on()
  601. h()
  602. on()
  603. i()
  604. on()
  605. s()
  606. on()
  607. on()
  608. l()
  609. on()
  610. i()
  611. on()
  612. t()
  613. on()
  614. t()
  615. on()
  616. l()
  617. on()
  618. e()
  619. on()
  620. on()
  621.  
  622. d()
  623. on()
  624. e()
  625. on()
  626. m()
  627. on()
  628. o()
  629. on()
  630. on()
  631. w()
  632. on()
  633. a()
  634. on()
  635. s()
  636. on()
  637. on()
  638. c()
  639. on()
  640. r()
  641. on()
  642. e()
  643. on()
  644. a()
  645. on()
  646. t()
  647. on()
  648. e()
  649. on()
  650. d()
  651. on()
  652. on()
  653.  
  654. e()
  655. on()
  656. n()
  657. on()
  658. t()
  659. on()
  660. i()
  661. on()
  662. r()
  663. on()
  664. e()
  665. on()
  666. l()
  667. on()
  668. y()
  669. on()
  670. on()
  671.  
  672. i()
  673. on()
  674. n()
  675. on()
  676. on()
  677.  
  678. a()
  679. on()
  680. m()
  681. on()
  682. i()
  683. on()
  684. g()
  685. on()
  686. a()
  687. on()
  688. on()
  689.  
  690. e()
  691. on()
  692. on()
  693.  
  694. b()
  695. on()
  696. y()
  697. on()
  698. on()
  699.  
  700. i()
  701. on()
  702. a()
  703. on()
  704. n()
  705. on()
  706.  on()
  707.  
  708.  
  709. c()
  710. on()
  711. h()
  712. on()
  713. a()
  714. on()
  715. p()
  716. on()
  717. m()
  718. on()
  719. a()
  720. on()
  721. n()
  722. on()
  723. on()
  724. on()
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731. on()
  732. on()
  733. on()
  734. on()
  735. on()
  736. on()
  737.  
  738. p()
  739. on()
  740. o()
  741. on()
  742. w()
  743. on()
  744. e()
  745. on()
  746. r()
  747. on()
  748. e()
  749. on()
  750. d()
  751. on()
  752. on()
  753.  
  754. b()
  755. on()
  756. y()
  757. on()
  758. on()
  759.  
  760. a()
  761. on()
  762. m()
  763. on()
  764. i()
  765. on()
  766. g()
  767. on()
  768. a()
  769.  
  770. Delay(5)
  771.  
  772. FOR x:=1 TO 35
  773. WaitTOF()
  774. ScrollRaster(rast,0,1,0,150,640,185)
  775. ENDFOR
  776.  
  777. Delay(10)
  778. ENDPROC
  779.  
  780. PROC on()
  781. DEF x
  782. FOR x:=1 TO 40
  783. ScrollRaster(rast,1,0,0,150,640,185)
  784. ENDFOR
  785. ENDPROC
  786.  
  787.  
  788.  
  789.  
  790.  
  791.